home *** CD-ROM | disk | FTP | other *** search
- // DR.L - Simple drawing program.
-
- main
- {
- w = new window;
- w.menu = new menu
- << (new menu ("&Draw")
- << (line_menu = new menuitem ("&Line"))
- << (circle_menu = new menuitem ("&Circle"))
- << (rectangle_menu = new menuitem ("&Rectangle")));
- w.display_list = new displaylist;
- line ();
- w.show;
- }
-
- set_figure (menuitem, type)
- {
- if (::menuitem)
- ::menuitem.checked = false;
- (::menuitem = menuitem).checked = true;
- figure = type;
- }
-
- line {set_figure (line_menu, "line");}
- circle {set_figure (circle_menu, "circle");}
- rectangle {set_figure (rectangle_menu, "rectangle");}
-
- startdrag (x1, y1, x2, y2)
- {
- w.cursor = "cross";
- obj = new (figure) (x1, y1, x2, y2);
- #pragma new circle, line, rectangle
- w.xor = true;
- obj.draw (w);
- }
-
- drag (x,y)
- {
- obj.draw (w);
- obj.stretch_to (x, y);
- obj.draw (w);
- }
-
- enddrag (x, y)
- {
- w.xor = false;
- obj.draw (w);
- w.display_list << obj;
- w.cursor = "arrow";
- }
-